把整个Mysql拆分成21天,轻松掌握,搞定(下)

把整个Mysql拆分成21天,轻松掌握,搞定(下)

17天作业 





-- 1)修改表idoxu,把字段istester ,改为istester6(字符类型varchar,长度160 


-- 2)检查是否修改成功


-- 3)把idoxu表,改名为 idoxu6


-- 4)检查是否修改成功




前一天作业答案参考 


造数据 ,把istester表的所有数据,插入到 idoxu

字段关系

id id

stu_id id

c_name  uname

istester  grade字段,给默认值 60


insert into idoxu(id,stu_id,c_name,istester,grade) select id,id,uname,60,60 from istester ;





/


18天作业 



1)创建数据库 istesterdb6


2)检查数据库是否创建成功 


3)进入istesterdb6 


4)在数据库 istesterdb6 ,创建idoxu表,直接拷贝 istesteridoxu6表的数据和结构 


5)检查表是否创建成功 




前一天作业答案参考 



-- 1)修改表idoxu,把字段istester ,改为istester6(字符类型varchar,长度160 

alter table idoxu CHANGE istester istester6 varchar(160);


-- 2)检查是否修改成功

desc idoxu;


-- 3)把idoxu表,改名为 idoxu6

-- ALTER TABLE 旧表名 RENAME TO 新表名 ;

ALTER TABLE idoxu RENAME TO idoxu681 ;


-- 4)检查是否修改成功

show tables;





/


19天作业 


idoxu表,分数grade

1)排名前三的学生 和分数 

2)排名3 - 6名的学生 和分数 

3)排名6名以后的所有学生  和分数 



前一天作业答案参考 


1)创建数据库 istesterdb6

create database istesterdb6 ;


2)检查数据库是否创建成功 

show databases ;


3)进入istesterdb6 

use istesterdb6 ;


4)在数据库 istesterdb6 ,创建idoxu表,直接拷贝 istesteridoxu6表的数据和结构 

create table istesterdb6.idoxu as SELECT * from istester.idoxu6;

create table idoxu as SELECT * from istester.idoxu6;


5)检查表是否创建成功 

show tables;




/


20天作业 


多表(左链接、右链接、内链接)


表 idoxu6 和 表istester




前一天作业答案参考 


-- 1)排名前三的学生 和分数  

SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 3; 


-- 2)排名3 - 6名的学生 和分数  

SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 2,4; 


-- 3)排名6名以后的所有学生 和分数  

SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 5,666;


注:这题目的是limit的用法,很多同学写的太复杂 


limitmysql的语法

select * from table limit m,n

其中m是指记录开始的index,从0开始,表示第一条记录

n是指从第m+1条开始,取n条。

select * from tablename limit 2,4

即取出第3条至第6条,4条记录





/


21天作业(最后1天,结业) 


1)把表idoxu6,改完idoxu

2)删除库 istesterdb6

3)删除istester

4)清空idoxu表的数据



End ,一切恢复如初,坐等SQL2 



前一天作业答案参考 


注:主要目的是熟悉这三种玩法,以及观察结果差异 


#左连接 

SELECT * from idoxu6 a LEFT JOIN istester b on a.stu_id=b.id; 


#内连接 

SELECT * from idoxu6 a INNER JOIN istester b on a.stu_id=b.id; 


#右连接 

SELECT * from idoxu6 a RIGHT JOIN istester b on a.stu_id=b.id;




/


结业,最后一天作业答案参考



1)把表idoxu6,改名为idoxu 

rename table idoxu6 to idoxu; 

alter table idoxu6 rename idoxu; 


2)删除库 istesterdb6 

drop database istesterdb6; 


3)删除istester 

drop table istester; 


4)清空idoxu表的数据 

truncate table idoxu; 

delete from idoxu;



End ,恭喜结业 

循环321天打卡,总共63天(两个月掌握软测必备的SQL日常使用)

标签:

  • 声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
  • 本文地址:https://www.609ai.com/shujuku/456.html
把整个Mysql拆分成21天,轻松掌握,搞定(中)
把整个Mysql拆分成21天,轻松掌握,搞定(上)